home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / networking / terms / kermit / b / ckccfg.doc < prev    next >
Encoding:
Text File  |  1993-07-09  |  26.7 KB  |  533 lines

  1. C-KERMIT 5A CONFIGURATION INFORMATION                                -*-text-*-
  2.  
  3.   5A(189)
  4.   Sun Jul  4 18:01:32 1993
  5.  
  6.   F. da Cruz, Columbia University
  7.  
  8.   Copyright (C) 1985, 1993, Trustees of Columbia University in the City of New
  9.   York.  The C-Kermit software may not be, in whole or in part, licensed or
  10.   sold for profit as a software product itself, nor may it be included in or
  11.   distributed with commercial products or otherwise distributed by commercial
  12.   concerns to their clients or customers without written permission of the
  13.   Office of Kermit Development and Distribution, Columbia University.  This
  14.   copyright notice must not be removed, altered, or obscured.
  15.  
  16. DOCUMENTATION:
  17.  
  18. C-Kermit 5A is documented in the book "Using C-Kermit" by Frank da Cruz
  19. and Christine M. Gianone, Digital Press, Burlington, MA, USA.  Digital
  20. Press ISBN: 1-55558-108-0; Prentice-Hall ISBN: 0-13-037490-3.  Price: US
  21. $34.95.  In USA, call DECdirect at 1-800-344-4825, refer to order number
  22. EY-J896E-DP.  Outside the USA, call Kermit Distribution at Columbia
  23. University, +1 212 854-370, and order with Master Card or Visa.
  24.  
  25. DISCLAIMER:
  26.  
  27.   The C-Kermit software is provided in source code form by Kermit Development
  28.   and Distribution, Columbia University.  The software is provided "as is;" no
  29.   other warranty is provided, express or implied, including without
  30.   limitations, any implied warranty of merchantability or implied warranty of
  31.   fitness for a particular purpose.
  32.  
  33.   Neither Columbia University nor any of the contributors to the C-Kermit
  34.   development effort, including, but not limited to, AT&T, Digital Equipment
  35.   Corporation, Data General Corporation, or International Business Machines
  36.   Corporation, warrant C-Kermit software or documentation in any way.  In
  37.   addition, neither the authors of any Kermit programs, publications or
  38.   documentation, nor Columbia University nor any contributing institutions or
  39.   individuals acknowledge any liability resulting from program or
  40.   documentation errors.
  41.  
  42.  
  43. OVERVIEW
  44.  
  45. This file gives more-or-less system-independent configuration information for
  46. C-Kermit 5A.  The major topics covered include program size (and how to reduce
  47. it), how to include or exclude particular features, notes on modem and network
  48. support, and a list of C-Kermit's compile-time options.
  49.  
  50. For details about your particular operating system, consult the system-specific
  51. installation instructions file:
  52.  
  53.   CK?INS.DOC
  54.  
  55. (? = U for UNIX, V for VMS, etc, for example, CKUINS.DOC for UNIX, CKVINS.DOC
  56. for VAX/VMS, CKDINS.DOC for Data General AOS/VS, etc).  Also consult the
  57. following files:
  58.  
  59.   CKAAAA.HLP   Explanation of file naming conventions
  60.   CKCPLM.DOC   C-Kermit "program logic manual"
  61.   CK?KER.HLP   System-specific help file, if any
  62.   CK?KER.MAK   System-specific build procedure
  63.   CKCKER.BWR   "Beware file": C-Kermit bugs, limitations, workarounds
  64.   CK?KER.BWR   System-specific "beware file"
  65.  
  66. For information about known limitations or bugs, and possible workarounds, see
  67. the file CKCKER.BWR.  See the file CKAAAA.HLP for file naming conventions.
  68.  
  69.  
  70. FULLSCREEN DISPLAY
  71.  
  72. New to edit 180 is support for an MS-DOS-Kermit-like local-mode full screen
  73. file transfer display, accomplished using the curses library, or something
  74. equivalent (for example, the Screen Manager on VAX/VMS).  To enable this
  75. feature, include the following in your CFLAGS:
  76.  
  77.   -DCK_CURSES
  78.  
  79. and then change your build procedure (if necessary) to include the necessary
  80. libraries, usually "curses", perhaps also "termcap" or "termlib".
  81.  
  82. The curses and termcap libraries add considerable size to the program image
  83. (e.g. about 20K on a SUN-4, 40K on a 386).  On some small systems, such as the
  84. AT&T 6300 PLUS, curses support can push Kermit over the edge... even though it
  85. compiles, loads, and runs correctly, its increased size apparently makes it
  86. swap constantly, slowing it down to a crawl, even when the curses display is
  87. not in use.  Some new makefile entries have been added to take care of this
  88. (e.g. sys3upcshcc), but similar tricks might be necessary in other cases too.
  89.  
  90. An alternative to curses is also available at compile time, but should be
  91. selected if your version of Kermit is to be run in local mode only in an ANSI
  92. terminal environment, for example on a desktop workstation that has an ANSI
  93. console driver.  To select this option in place of curses, define the symbol
  94. MYCURSES:
  95.  
  96.   -DMYCURSES
  97.  
  98. instead of CK_CURSES.  The MYCURSES option uses built-in ANSI (VT100) escape
  99. sequences, and depends upon your terminal or console driver to interpret them
  100. correctly.
  101.  
  102. To use the fullscreen dispay feature, SET FILE DISPLAY FULLSCREEN.  Beware, it
  103. can slow the transfer down a bit (or a lot).  The faster the connection speed,
  104. the more likely the fullscreen display will become the bottleneck.  To test
  105. whether the fullscreen display is slowing your transfers down on a particular
  106. connection, transfer the same with it and without it, and compare the figures
  107. given in the STATISTICS command.  The default file transfer display is still
  108. the old SERIAL ("dots") display, even if you build in curses support.
  109.  
  110. A compromise between the two styles (new to edit 183), that can be used on any
  111. video display terminal, can be elected at runtime with the SET FILE DISPLAY
  112. CRT.  It relies only on the ability of the terminal to write over the current
  113. line when it receives a bare carriage return.  The same performance comments
  114. apply to this display option.
  115.  
  116.  
  117. CHARACTER-SET SUPPORT
  118.  
  119. By default, C-Kermit is built with support for translation of character sets
  120. for Western European languages (i.e. languages that originated in in Western
  121. Europe, but are now also spoken in the Western Hemisphere and other parts of
  122. the world), via ISO 8859-1 Latin Alphabet 1, for Eastern European languages
  123. (ISO Latin-2), Hebrew (and Yiddish), and Cyrillic-alphabet languages (ISO
  124. Latin/Cyrillic).  Many file (local) character sets are supported: ISO 646
  125. 7-bit national sets, IBM code pages, Apple, DEC, DG, NeXT, etc.
  126.  
  127. Japanese language support is available by defining the following symbol in
  128. your CFLAGS (for example in UNIX, you can "make xxx KFLAGS=-KANJI"):
  129.  
  130. -DKANJI
  131.    Japanese.
  132.    Transfer character-set: Japanese EUC (= JIS X 0201 + JIS X 0208)
  133.    File character-sets: EUC, JIS-7, DEC Kanji, Shift JIS
  134.  
  135. To build Kermit with no character-set translation at all, include -DNOCSETS in
  136. the CFLAGS.  To build with no Latin-2, add -DNOLATIN2.  To build with no
  137. Cyrillic, add -DNOCYRIL.  To omit Hebrew, add -DNOHEBREW.  If -DNOCSETS is
  138. *not* included, you'll always get LATIN1.  There is presently no way to
  139. include Latin-2, Cyrillic, Hebrew, or Kanji without also including Latin-1.
  140.  
  141.  
  142. PROGRAM SIZE
  143.  
  144. C-Kermit 5A is a large program, much larger than previous releases because of
  145. all the new features, primarily the script programming language, sliding
  146. window packet protocol, and international character set translation.  On some
  147. systems, the size of the program prevents it from being successfully linked
  148. and loaded.  On some others, it occupies so much memory that it is constantly
  149. swapping or paging.  In such cases, you can reduce C-Kermit's size in various
  150. ways, outlined in this section.  The following options can cut down on the
  151. program's size at compile time by removing features or changing the size of
  152. storage areas.
  153.  
  154. These are symbols that are defined on the CC (C compiler) command line. "-D"
  155. is the normal CC directive to define a symbol so, for example, "-DNODEBUG"
  156. defines the symbol NODEBUG.  Some C compilers might use different syntax, e.g.
  157. "-d NODEBUG" or "/DEFINE=NODEBUG".  For C compilers that do not take
  158. command-line arguments, you can put the corresponding #define statements in
  159. the file CKCSYM.H, for example:
  160.  
  161. #define NODEBUG
  162.  
  163. (The #define statement must be on the left margin.)  Here are C-Kermit's
  164. size-related compile-time options.  The ones that take up the most space are
  165. marked by asterisk (*).  If you are desparate to save space, remove debugging
  166. first, rather than some more useful feature.  Remove built-in help only if
  167. absolutely necessary.  The final resort is to remove the interactive command
  168. parser completely, leaving only a UNIX-style command-line interface
  169. ("kermit -s foo").  This cuts the program down to about 25% of its fully
  170. configured size.
  171.  
  172. * -DNODEBUG:  Add this option to omit all debugging code.
  173.   -DNOTLOG:   Add this option to omit transaction logging.
  174. * -DNOHELP:   Add this option to omit built-in help.
  175.   -DTCPSOCKET:Remove this option to omit TCP/IP support.
  176.   -DSUNX25:   Remove this option to omit SunLink X.25 support.
  177.   -DNOMSEND:  Add this option to remove the MSEND command.
  178. * -DNODIAL:   Add this option to remove the DIAL command and modem support.
  179. * -DMINIDIAL: Add this option to support only CCITT, Hayes, and Unknown modems.
  180.   -DNOXMIT:   Add this option to remove the TRANSMIT command.
  181.   -DNOSCRIPT: Add this option to remove the UUCP-style SCRIPT command.
  182.   -DNOCMDL:   Add this option to remove the command-line option interface.
  183. * -DNOSPL:    Add this option to remove the script programming language.
  184. * -DNOICP:    Add this option to remove the entire interactive command parser.
  185.   -DDCMDBUF:  Add this option to allocate command buffers dynamically.
  186. * -DNOCSETS:  Add this option to remove international character set support.
  187.   -DNOLATIN2  Add this option to remove ISO Latin-2 character-set translation.
  188.   -DNOCYRIL:  Add this option to remove Cyrillic character set translation.
  189.   -DNOLATIN2: Add this option to remove Latin-2 character set translation.
  190.   -DNOHEBREW: Add this option to remove Hebrew character set translation.
  191.   -DKANJI:    Omit this option to exclude Kanji character set translation.
  192.   -DNOESCSEQ: Add this option to omit ANSI escape sequence recognition.
  193.   -DNOSERVER: Add this option to remove server mode.
  194.   -DNOSETKEY: Add this option to remove the SET KEY command.
  195.   -DNOPUSH:   Add this option to remove escapes to operating system.
  196.   -DNOFRILLS: Add this option to remove "frills".
  197. * -DCK_CURSES: Omit this option to keep the curses library out of Kermit.
  198.  
  199.   -DSBSIZ=nnnn -DRBSIZ=nnnnn
  200.      Change the overall size of the packet send and receive buffers.
  201.  
  202. -DNOFRILLS removes various command synonyms; the following top-level commands:
  203. CLEAR, DELETE, DISABLE, ENABLE, the multiline version of GET, GETOK, MAIL,
  204. RENAME, TYPE, WHO; and the following REMOTE commands: KERMIT, LOGIN, LOGOUT,
  205. PRINT, TYPE, WHO.
  206.  
  207. There are options to control Kermit's packet buffer allocations.  The
  208. following symbols are defined in ckcker.h in such a way that you can override
  209. them by redefining them in CFLAGS:
  210.  
  211.   -DMAXSP=xxxx - Maximum send-packet length, default 2048.
  212.   -DMAXRP=xxxx - Maximum receive-packet length, 2048 for UNIX, 1920 for VMS.
  213.   -DSBSIZ=xxxx - Total allocation for send-packet buffers, default 3008.
  214.   -DRBSIZ=xxxx - Total allocation for receive-packet buffers, default 3008.
  215.  
  216. The program size is affected by SBSIZ and RBSIZ (send and receive packet
  217. buffer size).  These are static character arrays compiled into the program.
  218. If you wish, you can have Kermit allocate packet buffers dynamically at
  219. runtime using malloc() by including the CFLAGS switch:
  220.  
  221.   -DDYNAMIC
  222.  
  223. In this case, the default packet and buffers sizes are changed to:
  224.  
  225.   -DMAXSP=9024 (for UNIX, 2048 for VMS)
  226.   -DMAXRP=9024 (for UNIX, 1920 for VMS)
  227.   -DSBSIZ=9050
  228.   -DRBSIZ=9050
  229.  
  230. but you can change the packet buffer sizes (not the maximum packet size) at
  231. runtime using the command:
  232.  
  233.   SET BUFFERS <sbsiz> <rbsiz>
  234.  
  235. Using dynamic allocation (-DDYNAMIC) reduces storage requirements for the
  236. executable program on disk, and allows more and bigger packets at runtime.
  237. But dynamic allocation might not work on all systems.  Try it.  If it works
  238. for you, there is no reason not to use it.  But if the program hangs or core
  239. dumps, then omit the -DDYNAMIC option from CFLAGS.
  240.  
  241. The CK_CURSES option, at least on UNIX, requires C-Kermit be linked with
  242. a large external library.  On certain small systems, C-Kermit programs built
  243. this way have been observed to cause swapping and/or performance problems.
  244.  
  245. OTHER SIZE-RELATED ITEMS
  246.  
  247. To make Kermit compile and load successfully, you might have to change your
  248. build procedure to:
  249.  
  250.    a. Request a larger ("large" or "huge") model.  This is particularly true
  251.       for 16-bit PC-based UNIX versions.  This is typically done with a -M
  252.       and/or -F switch (see your cc manual or man page for details).
  253.  
  254.    b. Some systems support overlays.  If the program is too big to be built
  255.       as is, check your loader manual ("man ld") to see if an overlay feature
  256.       is available.  See the 2.10/2.11 BSD example in the UNIX makefile. 
  257.  
  258.    c. Similarly, some systems support "code mapping", which is similar to
  259.       overlays.  Again, see "man ld".
  260.  
  261. It is also possible to reduce the size of the executable program file in
  262. several other ways:
  263.  
  264.    a. Include the -O (optimize) compiler switch if it isn't already included
  265.       in your "make" entry (and if it works!).  If your compiler supports
  266.       higher levels of optimization (e.g. -O2), try it.
  267.  
  268.    b. If your UNIX system supports shared libraries, change the make entry to
  269.       take advantage of this feature.  The way to do this depends on your
  270.       particular system.  Some (like SUNOS) do it automatically.  See the NeXT
  271.       entry for an example.
  272.  
  273.    c. Strip the program image after building ("man strip" for further info),
  274.       or add -s to the LNKFLAGS (UNIX only).  This strips the program of its
  275.       symbol table and relocation information.
  276.  
  277.    d. Move character strings into a separate file.  See the 2.10 BSD entry
  278.       for an example.
  279.  
  280. SPACE/TIME TRADEOFFS
  281.  
  282. There are over 1000 debug() statements in the program.  If you want to save
  283. both space (program size) and time (program execution time), include -DNODEBUG
  284. in the compilation.  If you want to include debugging for tracking down
  285. problems, omit -DNODEBUG from the make entry.  But when you include debugging,
  286. you have two choices for how it's done.  One definition defines debug() to be
  287. a function call; this is cheap in space but expensive in execution.  The other
  288. defines debug as "if (deblog)" and then the function call, to omit the
  289. function call overhead when the debug log is not active.  But this adds a lot
  290. of space to the program.  Both methods work, take your choice.  The first
  291. method is the default.  To select the second method, include -DIFDEBUG in the
  292. compilation (and don't include -DNODEBUG).
  293.  
  294. DIALER SUPPORT
  295.  
  296. -DNODIAL removes automatic modem dialing completely, including the entire
  297. ckudia.c module, plus all commands that refer to dialing in the various
  298. ckuus*.c modules.
  299.  
  300. -DMINIDIAL leaves the DIAL and related commands (SET/SHOW MODEM, SET/SHOW DIAL)
  301. intact, but removes support for all types of modems except CCITT, Hayes,
  302. Unknown, and None (= Direct).  The MINIDIAL option cuts the size of the dial
  303. module approximately in half.  Use this option if you have only Hayes or
  304. CCITT modems and don't want to carry the baggage for the other types.
  305.  
  306.  
  307. NETWORK SUPPORT
  308.  
  309. C-Kermit supports not only RS-232 serial connections, direct and modem, but
  310. also TCP/IP and X.25 network connections.  The OS/2 version supports DECnet
  311. (LAT) connections.
  312.  
  313. TCP/IP support requires the Berkeley sockets library, and is generally
  314. available on any BSD-based UNIX system.  It is also available on non-BSD-based
  315. UNIX systems that have a sockets library, including HP-UX and Xenix versions
  316. with Excelan TCP/IP, and many others.  The TCP/IP support includes built-in
  317. Telnet negotiation handling.  To select TCP/IP support, include -DTCPSOCKET in
  318. your makefile entry's CFLAGS, or the appropriate variant (e.g. -DWOLLONGONG,
  319. -DMULTINET, -DEXCELAN, -DWINTCP, etc).  The network support for TCP/IP and
  320. X.25 is in the source files CKCNET.H and CKCNET.C, with miscellaneous SHOW
  321. commands, etc, in the various CKUUS*.C modules, plus code in the CK*CON.C
  322. (CONNECT command) and several other modules to detect TELNET negotiations,
  323. etc.
  324.  
  325. If you get a compilation error in CKCNET.C, with a complaint like
  326. "incompatible types in assignment", it probably has something to do with the
  327. data type your system uses for the inet_addr() function, which is declared
  328. (usually) in <arpa/inet.h>.  Kermit uses "unsigned long" unless the symbol
  329. INADDRX is defined, in which case "struct inaddr" is used instead.  Try adding
  330. -DINADDRX to CFLAGS in your make entry.
  331.  
  332. X.25 support requires (a) a SUN, (b) the SunLink product (libraries and header
  333. files), and (c) an X.25 connection into your SUN.  Special makefile entries
  334. sunos4x25 and sunos41x25 (for SUNOS 4.0 and 4.1, respectively) are provided to
  335. build in this feature, but they only work if conditions (a)-(c) are met.  To
  336. request this feature, include -DSUNX25 in CFLAGS.
  337.  
  338.  
  339. SECURITY FEATURES
  340.  
  341. Compiling with the NOPUSH symbol defined removes all the "shell escape"
  342. features from the program, including the PUSH, RUN, and SPAWN commands, the
  343. "!" and "@" command prefixes, OPEN !READ, OPEN !WRITE, job control (including
  344. the SUSPEND command), shell/DCL escape from CONNECT mode, as well as the
  345. server's execution of REMOTE HOST commands (and, of course, the ENABLE HOST
  346. command).  For UNIX, also be sure to read CKUINS.DOC about set[ug]id
  347. installation.
  348.  
  349.  
  350. APPENDIX I: SUMMARY OF COMPILE-TIME OPTIONS
  351.  
  352. These are the symbols that can be specified on the cc command line, listed
  353. alphabetically.  Others are used internally, including those taken from header
  354. files, those defined by the compiler itself, and those inferred from the ones
  355. given below.  Kermit's SHOW VERSIONS command attempts to display most of
  356. these.  See ckcdeb.h and ckcnet.h for inference rules.  For example SVR3
  357. implies ATTSV, MULTINET implies TCPSOCKET, and so on.
  358.  
  359. The following options are not included in all makefile entries, but they are
  360. beneficial if they work.  It is recommended that you add them to your makefile
  361. entry if they are lacking and test the result.  If it's OK, let me know and
  362. I'll add them to the official makefile:
  363.  
  364. DYNAMIC        Dynamic packet buffer allocation, bigger packets allowed, etc.
  365. NOSETBUF       Don't do unbuffered single-character writes to the console.
  366.                This tends to speed up CONNECT mode.
  367.  
  368. Here is the complete list of the Kermit-specific compile-time switches:
  369.  
  370. ACUCNTRL       Select BSD 4.3-style acucntrl() bidirectional tty control.
  371. aegis          Build for Apollo Aegis (predefined on Apollo systems).
  372. AIX370         Build for IBM AIX/370 for IBM mainframes.
  373. AIXESA         Build for IBM AIX/ESA for IBM mainframes.
  374. AIXPS2         Build for IBM AIX 3.0 for PS/2 series (never formally released).
  375. AIXRS          Build for IBM AIX 3.0 or later for RS/6000.
  376. AMIGA          Build for Commodore Amiga with Intuition OS.
  377. ATT6300        Build for AT&T 6300 PLUS.
  378. ATT7300        Build for AT&T 7300 UNIX PC (3B1).
  379. ATTSV          Build for AT&T System III or V UNIX.
  380. AUX            Build for Apple A/UX for the Macintosh.
  381. BSD29          Build for BSD 2.9 or 2.10.
  382. BSD4           Build for BSD 4.2.
  383. BSD41          Build for BSD 4.1.
  384. BSD43          Build for BSD 4.3.
  385. BSD44          Build for BSD 4.4.
  386. C70            Build for BBN C/70.
  387. CIE            Build for CIE Systems 680/20.
  388. CK_ANSIC       Force ANSI C function prototyping.
  389. CK_CURSES      Include curses support for file transfer display.
  390. CK_LBRK        This implementation is capable of sending Long BREAK.
  391. CK_POLL        poll() system call and /usr/include/poll.h file are available.
  392. CK_SPEED       Enable control-prefix removal feature (SET CONTROL).
  393. CKTYP_H=xxx    Force include of xxx as <types.h> file.
  394. CLSOPN         When hanging up a tty device, also close and reopen it.
  395. CMDDEP         Maximum recursion depth for self-referential user-defined fn's.
  396. COHERENT       Build for Mark Williams Coherent UNIX
  397. datageneral    Build for Data General AOS/VS or AOS/VS II
  398. DCLPOPEN       popen() is available but needs to be declared
  399. DEC_TCPIP      Build with support for DEC TCP/IP (UCX) for (Open)VMS
  400. DGUX430        Build for DGUX 4.30
  401. DGUX540        Build for DGUX 5.40
  402. DEFPAR=x       Default parity, 0, 'e', 'o', 'm', or 's'.
  403. DFTTY=xxx      Default communications device name.
  404. DIRENT         UNIX directory structure to be taken from <dirent.h>
  405. DIRPWDRP       Prompt for password in REMOTE CWD command.
  406. DYNAMIC        Allocate file transfer packet buffers dynamically with malloc.
  407. ENCORE         Build for Encore Multimax computers.
  408. EXCELAN        Build with excelan TCP/IP.
  409. FT18           Build for Fortune For:Pro 1.8.
  410. FT21           Build for Fortune For:Pro 2.1.
  411. GEMDOS         Build for Atari ST GEMDOS
  412. GID_T=xxx      Group IDs are of type xxx (usually int, short, or gid_t).
  413. HDBUUCP        Build with support for Honey DanBer UUCP.
  414. HPUX           Build for Hewlett Packard HP-UX.
  415. I386IX         Build for Interactive System V R3.
  416. IFDEBUG        Add IF stmts "if (deblog)" before "debug()" calls.
  417. INADDRX        TCP/IP inet_addr() type is struct inaddr, not unsigned long.
  418. INTERLAN       Build with support for Racal/Interlan TCP/IP.
  419. ISIII          Build for Interactive System III.
  420. IX370          Build for IBM IX/370.
  421. KANJI          Build with Kanji character-set translation support.
  422. LCKDIR         UUCP lock directory is /usr/spool/uucp/LCK/.
  423. LFDEVNO        UUCP lockfile name uses device numbers, as in SVR4.
  424. LOCK_DIR=xxx   UUCP lock directory is xxx.
  425. LOCKF          Use lockf() (in addition to lockfiles) on serial lines
  426. LONGFN         BSD long filenames supported using <dir.h> and opendir().
  427. MAC            Build for Apple Macintosh with Mac OS.
  428. MATCHDOT       Make wildcards to match filenames starting with period (.)
  429. MAXRP=xxx      Maximum receive-packet length.
  430. MAXSP=xxx      Maximum send-packet length.
  431. MDEBUG         Malloc-debugging requested.
  432. MINIDIAL       Minimum modem dialer support: CCITT, Hayes, Unkown, and None.
  433. MINIX          Build for MINIX.
  434. MIPS           Build for MIPS workstation.
  435. MULTINET       Build with support for TGV MultiNet TCP/IP (VAX/VMS).
  436. NAP            The nap() is available (conflicts with SELECT and USLEEP)
  437. NAPHACK        The nap() call is availabe but only as syscall(3112,...)
  438. NDIR           BSD long filenames supported using <ndir.h> and opendir().
  439. NEXT           Build for NeXT Mach 1.x or 2.x.
  440. NEXT3          Build for NeXT Mach 3.0.
  441. NOANSI         Disable ANSI C function prototyping.
  442. NOBRKC         Don't try to refer to t_brkc or t_eof tchars structure members
  443. NOCCTRAP       Disable Control-C (SIGINT) trapping.
  444. NOCKSPEED      Disable control-prefix removal feature (SET CONTROL).
  445. NOCMDL         Build with no command-line option processing.
  446. NOCOTFMC       No close(open()) to force mode change (UNIX version).
  447. NOCSETS        Build with no support for character set translation.
  448. NOCYRIL        Build with no support for Cyrillic character set translation.
  449. NODEBUG        Build with no debug logging capability.
  450. NODIAL         Build with no DIAL or SET DIAL commands.
  451. NOESCSEQ       Build with no support for ANSI escape sequence recognition.
  452. NOFDZERO       Do not use file descriptor 0 for remote-mode file transfer.
  453. NOFILEH        Do not #include <sys/file.h>.
  454. NOFRILLS       Build with "no frills".
  455. NOHEBREW       Build with no support for Hebrew character sets.
  456. NOHELP         Build with no built-in help.
  457. NOICP          Build with no interactive command parser.
  458. NOJC           Build with no support for job control (suspend).
  459. NOLATIN2       Build with ISO Latin-2 character-set translation support.
  460. NOMDMHUP       Build without "modem-specific hangup" (e.g. ATH0) feature.
  461. NOMSEND        Build with no MSEND command.
  462. NOPARSEN       Build without automatic parity detection.
  463. NOPOPEN        The popen() system call is not available.
  464. NOPUSH         Build with no escapes to operating system.
  465. NORENAME       Don't use rename() system call, use link()/unlink() (UNIX).
  466. NOSCRIPT       Build with no SCRIPT command.
  467. NOSERVER       Build with no SERVER mode and no server-related commands.
  468. NOSETBUF       Don't make console writes unbuffered.
  469. NOSETREU       setreuid() and/or setregid() not available.
  470. NOSHOW         Build with no SHOW command (not recommended!).
  471. NOSPL          Build with no script programming language.    
  472. NOSYSIOCTLH    Do not #include <sys/ioctl.h>.
  473. NOTLOG         Build with no support for transaction logging.
  474. NOUUCP         Build with no UUCP lockfile support (dangerous!).
  475. NOXMIT         Build with no TRANSMIT command.
  476. OS2            Build for OS/2.
  477. OSF            Build for OSF/1.
  478. OSFPC          Build for OSF/1 on a PC.
  479. OSK            Build for OS-9.
  480. OXOS           Build for Olivetti X/OS 2.3.
  481. PARAMH         ??? (something to do with <param.h>? apparently not used)
  482. PCIX           Build for PC/IX
  483. PID_T=xxx      Type for pids is xxx (normally int or pid_t).
  484. POSIX          Build for POSIX: use POSIX header files, functions, etc.
  485. _POSIX_SOURCE  Disable non-POSIX features.
  486. PROVX1         Build for Venix 1.0 on DEC Professional 3xx.
  487. PTX            Build for Dynix/PTX
  488. PWID_T=xxx     getpwid() type is xxx.
  489. RBSIZ=xxx      Define overall size of receive-packet buffer (with DYNAMIC).
  490. RDCHK          rdchk() system call is available.
  491. RENAME         rename() system call is available (UNIX).
  492. RTAIX          Build for AIX 2.2.1 on IBM RT PC.
  493. RTU            Build for Masscomp / Concurrent RTU.
  494. SAVEDUID       BSD or other non-AT&T UNIX has saved-setuid feature.
  495. SBSIZ=xxx      Define overall size of send-packet buffer (use with DYNAMIC).
  496. SDIRENT        Directory structure specified in <sys/dirent.h>.
  497. SELECT         select() function available (conflicts with NAP and USLEEP)
  498. SIG_V          Type for signal() is void.  Used to override normal assumption.
  499. SIG_I          Type for signal() is int.  Used to override normal assumption.
  500. SONYNEWS       Build for Sony NEWS-OS.
  501. STERMIOX       <sys/termiox.h> is available.
  502. SUN4S5         Build for SUNOS 4.x in the System V R3 environment.
  503. SUNOS4         Build for SUNOS 4.0 in the BSD environment.
  504. SUNOS41        Build for SUNOS 4.1 in the BSD environment.
  505. SUNX25         Build with support for SunLink X.25.
  506. SVR3           Build for AT&T System V Release 3.
  507. SVR3JC         Allow job control support on System V Release 3 UNIX versions.
  508. SVR4           Build for AT&T System V Release 4.
  509. SW_ACC_ID      UNIX only -- swap real & effective ids around access() calls.
  510. sxaE50         Build for PFU Compact A Series SX/A TISP.
  511. SYSUTIMEH      Include <sys/utime.h> for setting file dates.
  512. TCPSOCKET      Build with support for TCP/IP via Berkeley sockets library.
  513. TERMIOX        <termiox.h> is available.
  514. TNCODE         Include Telnet-specific code.
  515. TOWER1         Build for NCR Tower 1632 with OS 1.02.
  516. TRS16          Build for Tandy 16/6000.
  517. UID_T=xxx      Type for uids is xxx (normally int or uid_t).
  518. USLEEP         usleep() system call available (conflicts with NAP & SELECT).
  519. UTEK           Build for Tektronix workstations with UTEK OS.
  520. UTS24          Build for Amdahl UTS 2.4.
  521. V7             Build for Version 7 UNIX.V
  522. VMS            Build for VAX/VMS.
  523. VOID=xxx       VOID type for functions (int or void).
  524. VXVE           Build for CDC VX/VE 5.2.1.
  525. WAIT_T=xxx     Type for wait().
  526. WINTCP         Build with Wollongong VAX/VMS TCP/IP (implies TCPSOCKET)
  527. WOLLONGONG     Build with Wollongong UNIX TCP/IP (implies TCPSOCKET)
  528. XENIX          Build for Xenix (SCO, Tandy, others).
  529. XNDIR          Support for BSD long filenames via <sys/ndir.h>.
  530. ZILOG          Build for Zilog ZEUS.
  531.  
  532. (End of CKCCFG.DOC)
  533.